package com.yidiandao.business.ui.widget.listview.viewholder;

import android.util.TypedValue;
import android.view.View;
import android.widget.TextView;

import com.yidiandao.business.R;
import com.yidiandao.business.ui.widget.listview.ViewHolder;
import com.yidiandao.business.utils.UIUtils;

/** 购物车赠品/加价购 Item -ViewHolder */
public class ShoppingCartGoodsGiftHolder extends ViewHolder {

    public TextView tvTitle;

    public TextView tvChooseGift;

    public TextView tvCount;

    public TextView tvContent;

    @Override
    protected void initView(View rootView) {
        tvTitle = (TextView) rootView.findViewById(R.id.tv_gift_name);
        tvChooseGift = (TextView) rootView.findViewById(R.id.tv_choose_gift);
        tvCount = (TextView) rootView.findViewById(R.id.tv_gift_count);
        tvContent = (TextView) rootView.findViewById(R.id.tv_gift_content);
    }

    @Override
    protected int getItemLayoutId() {
        return R.layout.item_shopping_cart_gift;
    }

    /**
     * 设置赠品的标题.会隐藏掉商品的数量
     *
     * <p>
     *
     * <p>小标题,带有边框,
     *
     * @param title 活动的名称
     */
    public void setSmallTitle(String title) {
        tvTitle.setTextSize(TypedValue.COMPLEX_UNIT_PX, UIUtils.dp2px(10));
        tvTitle.setBackgroundResource(R.drawable.bg_gift_border);
        tvTitle.setText(title);
        // 隐藏赠品数量
        tvCount.setVisibility(View.GONE);
    }

    /** 大标题,无边框,已选择赠品时显示 */
    public void setLargeTitle() {
        // 已选择赠品时，UI调整
        // 左边显示赠品，大字号，无边框
        tvTitle.setText(R.string.gift);
        tvTitle.setTextSize(TypedValue.COMPLEX_UNIT_PX, UIUtils.dp2px(13));
        tvTitle.setBackgroundResource(0);
    }

    /** 设置赠品的数量,已选择赠品时显示 */
    public void setGiftCount(int giftCount) {
        // 右边显示赠品数量 ， 与重选赠品
        tvCount.setVisibility(View.VISIBLE);
        tvCount.setText(UIUtils.getString(R.string.goods_count, giftCount));
    }

    /** 设置赠品的内容。满足条件就显示所选赠品的标题，不满足条件就显示活动的标题 */
    public void setContent(String content) {
        tvContent.setText(content);
    }

    /** 设置是否显示“选择赠品”按钮 */
    public void setShowChooseButton(boolean showChooseButton) {
        tvChooseGift.setVisibility(showChooseButton ? View.VISIBLE : View.GONE);
    }

    /**
     * 设置“选择赠品按钮”的内容：
     *
     * @param chooseGift true 选择赠品 ; false 重选赠品
     */
    public void setChooseButtonContent(boolean chooseGift) {
        tvChooseGift.setText(chooseGift ? R.string.select_gift : R.string.re_choose_gift);
    }
}
